'use strict';
exports.main = async (event, context) => {
	//event为客户端上传的参数
	console.log('event : ', event)
	
	//返回数据给客户端
	return event
};
'use strict';
const db = uniCloud.database()
const userDb = db.collection('Accounts') // 与注册的集合名一致

exports.main = async (event, context) => {
  try {
    console.log('---checkUser---event : ', event)
    
    // 1. 获取登录参数（用户名、密码）
    const { username, password } = event
    
    // 2. 基础校验
    if (!username || username.length < 2 || username.length > 32) {
      return { code: 400, msg: '账户名需2-32位' }
    }
    if (!password || password.length < 4 || password.length > 32) {
      return { code: 400, msg: '密码需4-32位' }
    }

    // 3. 数据库查询：根据 account 字段查找（重点修复！）
    const userRes = await userDb.where({ account: username.trim() }).get()
    console.log('---checkUser---userRes : ', userRes)
    
    // 4. 验证逻辑
    if (userRes.data.length === 0) {
      return { code: 300, msg: '用户名不存在' } // 确实不存在的情况
    }
    if (userRes.data.length > 1) {
      return { code: 500, msg: '服务器数据异常' }
    }

    // 5. 密码校验（和数据库中的 password 字段对比）
    const user = userRes.data[0]
    if (user.password !== password) {
      return { code: 401, msg: '密码错误' }
    }

    // 6. 登录成功：更新最后登录时间
    await userDb.doc(user._id).update({
      last_login_time: new Date()
    })

    // 7. 返回用户信息（隐藏密码）
    const returnUser = {
      _id: user._id,
      account: user.account,
      nickname: user.nickname || '',
      mobile: user.mobile || '',
      email: user.email || '',
      register_time: user.register_time,
      last_login_time: new Date()
    }
    return { code: 200, msg: '登录成功', data: returnUser }

  } catch (err) {
    console.error('---checkUser---error : ', err)
    return { code: 500, msg: '登录失败：' + err.message }
  }
};